home *** CD-ROM | disk | FTP | other *** search
/ Complete Linux / Complete Linux.iso / docs / apps / database / postgres / postgre4.z / postgre4 / src / access / common / attr.c next >
Encoding:
C/C++ Source or Header  |  1992-08-27  |  2.0 KB  |  89 lines

  1. /* ----------------------------------------------------------------
  2.  *   FILE
  3.  *    attr.c
  4.  *    
  5.  *   DESCRIPTION
  6.  *    postgres attribute predicates
  7.  *
  8.  *   INTERFACE ROUTINES
  9.  *    AttributeIsValid
  10.  *    AttributeNumberIsValid
  11.  *    AttributeNumberIsForUserDefinedAttribute
  12.  *    AttributeNumberIsInBounds
  13.  *    AttributeNumberGetAttributeOffset
  14.  *    AttributeOffsetGetAttributeNumber
  15.  *    
  16.  *   NOTES
  17.  *    this file contains the old att.c and attnum.c stuff
  18.  *
  19.  *   IDENTIFICATION
  20.  *    $Header: /private/postgres/src/access/common/RCS/attr.c,v 1.2 1991/04/28 09:17:16 cimarron Exp $
  21.  * ----------------------------------------------------------------
  22.  */
  23. #include "tmp/c.h"
  24.  
  25. #include "access/att.h"
  26. #include "access/attnum.h"
  27. #include "access/tupdesc.h"
  28. #include "access/attval.h"
  29.  
  30. #include "utils/memutils.h"
  31. #include "utils/log.h"
  32.  
  33. RcsId("$Header: /private/postgres/src/access/common/RCS/attr.c,v 1.2 1991/04/28 09:17:16 cimarron Exp $");
  34.  
  35. /* ----------------
  36.  *    AttributeNumberIsForUserDefinedAttribute
  37.  * ----------------
  38.  */
  39. bool
  40. AttributeNumberIsForUserDefinedAttribute(attributeNumber)
  41.     AttributeNumber    attributeNumber;
  42. {
  43.     return (bool)
  44.     (attributeNumber > 0);
  45. }
  46.  
  47. /* ----------------
  48.  *    AttributeNumberIsInBounds
  49.  * ----------------
  50.  */
  51. bool
  52. AttributeNumberIsInBounds(attributeNumber,
  53.               minimumAttributeNumber,
  54.               maximumAttributeNumber)
  55.     
  56.     AttributeNumber    attributeNumber;
  57.     AttributeNumber    minimumAttributeNumber;
  58.     AttributeNumber    maximumAttributeNumber;
  59. {
  60.     return (bool)
  61.     OffsetIsInBounds(attributeNumber,
  62.              minimumAttributeNumber,
  63.              maximumAttributeNumber);
  64. }
  65.  
  66. /* ----------------
  67.  *    AttributeNumberGetAttributeOffset
  68.  * ----------------
  69.  */
  70. AttributeOffset
  71. AttributeNumberGetAttributeOffset(attributeNumber)
  72.     AttributeNumber    attributeNumber;
  73. {
  74.     Assert(AttributeNumberIsForUserDefinedAttribute(attributeNumber)==true);
  75.     return (attributeNumber - 1);
  76. }
  77.  
  78. /* ----------------
  79.  *    AttributeOffsetGetAttributeNumber
  80.  * ----------------
  81.  */
  82. AttributeNumber
  83. AttributeOffsetGetAttributeNumber(attributeOffset)
  84.     AttributeOffset    attributeOffset;
  85. {
  86.     return (1 + attributeOffset);
  87. }
  88.  
  89.